package cc.rengu.igas.bomp.common.dao;

import cc.rengu.igas.bomp.common.entity.TradeAreatInfo;
import cc.rengu.oltp.utility.bean.PageInfo;
import cc.rengu.oltp.utility.bean.PageResult;

import java.util.List;

/**
 * 商圈信息表接口类
 * Created by 赵奎伍 on 2020/3/28
 */
public interface TradeAreatInfoMapper {

    /**
     * 根据多法人标识查询商圈信息
     *
     * @param instId 多法人标识
     * @return 商圈信息
     * @throws Exception 异常
     */
    List<TradeAreatInfo> selectTradeAreatInfoByInstId(String instId) throws Exception;

    /**
     * 根据商户标识、商圈名称、所属地区代码、所属机构代码查询商圈信息表
     *
     * @param instId        多法人标识
     * @param mchntArea     商户标识
     * @param mchntAreaName 商圈名称
     * @param areaCode      所属地区代码
     * @param signInstId    签约机构代码
     * @return 商圈信息
     * @throws Exception 异常
     */
    List<TradeAreatInfo> selectTradeAreatInfoByKeys(String instId, String mchntArea, String mchntAreaName, String areaCode, String signInstId) throws Exception;

    /**
     * 根据商户标识、商圈名称、所属地区代码、所属机构代码查询商圈信息表
     *
     * @param instId        多法人标识
     * @param mchntArea     商户标识
     * @param mchntAreaName 商圈名称
     * @param areaCode      所属地区代码
     * @param signInstId    签约机构代码
     * @return 商圈信息
     * @throws Exception 异常
     */
    PageResult selectTradeAreatInfoByKeysByPage(String instId, String mchntArea, String mchntAreaName, String areaCode, String signInstId, PageInfo pageInfo) throws Exception;

    /**
     * 根据多法人标识查询商圈信息
     *
     * @param instId 多法人标识
     * @return 商圈信息
     * @throws Exception 异常
     */
    PageResult selectTradeAreatInfoByInstIdByPage(String instId, PageInfo pageInfo) throws Exception;
}

